home *** CD-ROM | disk | FTP | other *** search
- {$F+} PROCEDURE NTSAutoHelp;
- begin
- ClearEOL(10,24);
- case SGFieldCode of
- 1 : AT(10,24,'Enter message number');
- 2 : AT(10,24,'Precedence : Routine, Priority, Welfare, Emergency');
- 3 : AT(10,24,'Handling Instructions: A, B, C, D, E, F, G <F10> for list');
- 4 : AT(10,24,'Extension required for A, B, and F handling instructions');
- 5 : AT(10,24,'Originating station');
- 6 : AT(10,24,'Place of origin ie: Cape May NJ');
- 7 : AT(10,24,'File time ... <F10> for system time');
- 8 : AT(10,24,'File month');
- 9 : AT(10,24,'File day 1..31');
- 10: AT(10,24,'Addressee name');
- 11: AT(10,24,'Addressee address #1');
- 12: AT(10,24,'Addressee address #2');
- 13: AT(10,24,'Addressee city');
- 14: AT(10,24,'Addressee State <F10> for list');
- 15: AT(10,24,'Addressee Zip Code');
- 16: AT(10,24,'Addressee phone number');
- 17: AT(10,24,'Message line #1');
- 18: AT(10,24,'Message line #2');
- 19: AT(10,24,'Message line #3');
- 20: AT(10,24,'Message line #4');
- 21: AT(10,24,'Message line #5');
- 22: AT(10,24,'Sendee name');
- 23: AT(10,24,'Sendee address #1');
- 24: AT(10,24,'Sendee address #2');
- 25: AT(10,24,'Sendee city');
- 26: AT(10,24,'Sendee State <F10> for list');
- 27: AT(10,24,'Sendee Zip Code');
- 28: AT(10,24,'Sendee phone number');
- end;
- end;
- {$F-}
-
- {$F+} FUNCTION NTSStateName(Var n : integer): String;
- begin
- case n of
- 1 : NTSStateName := 'Alabama';
- 2 : NTSStateName := 'Alaska';
- 3 : NTSStateName := 'Arizona';
- 4 : NTSStateName := 'Arkansas';
- 5 : NTSStateName := 'California';
- 6 : NTSStateName := 'Colorado';
- 7 : NTSStateName := 'Connecticut';
- 8 : NTSStateName := 'Delaware';
- 9 : NTSStateName := 'Dist. of Col.';
- 10 : NTSStateName := 'Florida';
- 11 : NTSStateName := 'Georgia';
- 12 : NTSStateName := 'Hawaii';
- 13 : NTSStateName := 'Idaho';
- 14 : NTSStateName := 'Illinois';
- 15 : NTSStateName := 'Indiania';
- 16 : NTSStateName := 'Iowa';
- 17 : NTSStateName := 'Kansas';
- 18 : NTSStateName := 'Kentucky';
- 19 : NTSStateName := 'Louisiana';
- 20 : NTSStateName := 'Maine';
- 21 : NTSStateName := 'Maryland';
- 22 : NTSStateName := 'Mass.';
- 23 : NTSStateName := 'Michigan';
- 24 : NTSStateName := 'Minnesota';
- 25 : NTSStateName := 'Mississippi';
- 26 : NTSStateName := 'Missouri';
- 27 : NTSStateName := 'Montana';
- 28 : NTSStateName := 'Nebraska';
- 29 : NTSStateName := 'Nevada';
- 30 : NTSStateName := 'New Hampshire';
- 31 : NTSStateName := 'New Jersey';
- 32 : NTSStateName := 'New Mexico';
- 33 : NTSStateName := 'New York';
- 34 : NTSStateName := 'North Carolina';
- 35 : NTSStateName := 'North Dakota';
- 36 : NTSStateName := 'Ohio';
- 37 : NTSStateName := 'Oklahoma';
- 38 : NTSStateName := 'Oregon';
- 39 : NTSStateName := 'Pennsylvania';
- 40 : NTSStateName := 'Rhode Island';
- 41 : NTSStateName := 'South Carolina';
- 42 : NTSStateName := 'South Dakota';
- 43 : NTSStateName := 'Tennessee';
- 44 : NTSStateName := 'Texas';
- 45 : NTSStateName := 'Utah';
- 46 : NTSStateName := 'Vermont';
- 47 : NTSStateName := 'Virginia';
- 48 : NTSStateName := 'Washington';
- 49 : NTSStateName := 'West Virginia';
- 50 : NTSStateName := 'Wisconsin';
- 51 : NTSStateName := 'Wyoming';
- 52 : NTSStateName := 'Puerto Rico';
- end;
- end;
- {$F-}
-
- {$F+} PROCEDURE NTSStatePickList;
- var i : integer;
- begin
- Set_PickWindow_To(60,4,79,22,2,'Select State');
- i := PickList(@NTSStateName,1,51,1);
- case i of
- 0 : ;
- 1 : SGBuffer^ := 'AL';
- 2 : SGBuffer^ := 'AK';
- 3 : SGBuffer^ := 'AZ';
- 4 : SGBuffer^ := 'AR';
- 5 : SGBuffer^ := 'CA';
- 6 : SGBuffer^ := 'CO';
- 7 : SGBuffer^ := 'CT';
- 8 : SGBuffer^ := 'DE';
- 9 : SGBuffer^ := 'DC';
- 10 : SGBuffer^ := 'FL';
- 11 : SGBuffer^ := 'GA';
- 12 : SGBuffer^ := 'HA';
- 13 : SGBuffer^ := 'ID';
- 14 : SGBuffer^ := 'IL';
- 15 : SGBuffer^ := 'IN';
- 16 : SGBuffer^ := 'IO';
- 17 : SGBuffer^ := 'KA';
- 18 : SGBuffer^ := 'KY';
- 19 : SGBuffer^ := 'LA';
- 20 : SGBuffer^ := 'ME';
- 21 : SGBuffer^ := 'MD';
- 22 : SGBuffer^ := 'MA';
- 23 : SGBuffer^ := 'MI';
- 24 : SGBuffer^ := 'MN';
- 25 : SGBuffer^ := 'MS';
- 26 : SGBuffer^ := 'MO';
- 27 : SGBuffer^ := 'MN';
- 28 : SGBuffer^ := 'NE';
- 29 : SGBuffer^ := 'NV';
- 30 : SGBuffer^ := 'NH';
- 31 : SGBuffer^ := 'NJ';
- 32 : SGBuffer^ := 'NM';
- 33 : SGBuffer^ := 'NY';
- 34 : SGBuffer^ := 'NC';
- 35 : SGBuffer^ := 'ND';
- 36 : SGBuffer^ := 'OH';
- 37 : SGBuffer^ := 'OK';
- 38 : SGBuffer^ := 'OR';
- 39 : SGBuffer^ := 'PA';
- 40 : SGBuffer^ := 'RI';
- 41 : SGBuffer^ := 'SC';
- 42 : SGBuffer^ := 'SD';
- 43 : SGBuffer^ := 'TN';
- 44 : SGBuffer^ := 'TX';
- 45 : SGBuffer^ := 'UT';
- 46 : SGBuffer^ := 'VT';
- 47 : SGBuffer^ := 'VI';
- 48 : SGBuffer^ := 'WA';
- 49 : SGBuffer^ := 'WV';
- 50 : SGBuffer^ := 'WI';
- 51 : SGBuffer^ := 'WY';
- 52 : SGBuffer^ := 'PR';
- end;
- end;
-
- {$F+} FUNCTION NTSHandlingInst(var n: integer): String;
- begin
- case n of
- 1 : NTSHandlingInst := 'A - Collect landline delivery authorized ... miles';
- 2 : NTSHandlingInst := 'B - Cancel if not delivered with ... hrs of filing';
- 3 : NTSHandlingInst := 'C - Report date & time of delivery to originator';
- 4 : NTSHandlingInst := 'D - Report receiver, relay, date, time & method';
- 5 : NTSHandlingInst := 'E - Get reply & originate message back';
- 6 : NTSHandlingInst := 'F - Hold delivery until .... date';
- 7 : NTSHandlingInst := 'G - Delivery by mail or toll not required';
- end;
- end;
- {$F-}
-
- {$F+} PROCEDURE NTSHandlingPickList;
- var i : integer;
- begin
- Set_PickWindow_To(15,10,67,18,2,'Valid Handling Instructions');
- i := PickList(@NTSHandlingInst,1,7,1);
- case i of
- 0 : ;
- 1 : SGBuffer^ := 'A';
- 2 : SGBuffer^ := 'B';
- 3 : SGBuffer^ := 'C';
- 4 : SGBuffer^ := 'D';
- 5 : SGBuffer^ := 'E';
- 6 : SGBuffer^ := 'F';
- 7 : SGBuffer^ := 'G';
- end;
- end;
- {$F-}
-
- {$F+} PROCEDURE NTSEnterSystemTime;
- var TimeStr : string[8];
- begin
- TimeStr := SystemTime;
- TimeStr[3] := TimeStr[4];
- TimeStr[4] := TimeStr[5];
- TimeStr[0] := chr(4);
- SGBuffer^ := TimeStr;
- end;
- {$F-}
-
- {$F+} PROCEDURE NTSF10Help;
- begin
- case SGFieldCode of
- 3 : NTSHandlingPickList;
- 7 : NTSEnterSystemTime;
- 14, 26 : NTSStatePickList;
- end;
- end;
- {$F-}
-
- {$F+} PROCEDURE NTSCountWords;
- var i, wds : integer;
- wrdend : boolean;
- begin
- wds := 0;
- with NTSHamGram do
- begin
- wrdend := TRUE;
- for i := 1 to Length(_TEXT_1) do
- begin
- if (wrdend = TRUE) AND
- (_TEXT_1[i] in ['A'..'z','0'..'9']) then
- begin
- inc(wds);
- wrdend := FALSE;
- end;
- if _TEXT_1[i] = ' ' then
- wrdend := TRUE;
- end;
- wrdend := TRUE;
- for i := 1 to Length(_TEXT_2) do
- begin
- if (wrdend = TRUE) AND
- (_TEXT_2[i] in ['A'..'z','0'..'9']) then
- begin
- inc(wds);
- wrdend := FALSE;
- end;
- if _TEXT_2[i] = ' ' then
- wrdend := TRUE;
- end;
- wrdend := TRUE;
- for i := 1 to Length(_TEXT_3) do
- begin
- if (wrdend = TRUE) AND
- (_TEXT_3[i] in ['A'..'z','0'..'9']) then
- begin
- inc(wds);
- wrdend := FALSE;
- end;
- if _TEXT_3[i] = ' ' then
- wrdend := TRUE;
- end;
- end;
- gotoxy(67,21);
- NTSWordCount := wds;
- write(NTSWordCount:3);
- end;
- {$F-}
-
- {$F+} PROCEDURE NTSHelpScreen;
- { Displays a list of menu commands when <F1> or "H" is pressed }
- VAR ScreenBuffer : Array[1..2000] OF Word;
- BEGIN
- FillPage(@ScreenBuffer); { save contents of current screen }
- Window(5,4,75,23);
- Set_Color_To(Black,LightGray,Black,LightGray);
- ClrScr;
- WriteLn(' Menu Commands');
- WriteLn;
- WriteLn(' N - Next Skips to and displays next record in file');
- WriteLn(' P - Prev Skips back one and displays prior record');
- WriteLn(' T - Top Displays first record in file');
- WriteLn(' O - Bottom Displays last record in file');
- WriteLn(' G - Go Positions database on selected record by number');
- WriteLn(' S - Search Allows searching for imbedded string in key field');
- WriteLn(' E - Edit Allows modification of currently displayed record');
- WriteLn(' A - Add Allows input and appends a new record into database');
- WriteLn(' D - Delete Marks or unmarks current record for deletion by Pack');
- WriteLn(' B - Browse Spreadsheet-like view of database');
- WriteLn(' C - Pack Purges database of all records marked for deletion');
- WriteLn(' W - Write Write standard ARRL NTSHamGram Format for this record');
- WriteLn(' Q - Quit Quit viewing of database');
- WriteLn;
- Wait(' Press any key to return...');
- Window(1,1,80,25);
- SayGetColors;
- DisplayPage(@ScreenBuffer); { restore prior screen }
- END; { NTSHelpScreen }
- {$F-}
-
- PROCEDURE NTSSrchMsgNbr;
- { Sequential search of entire file to find NTSMsgNbr in MSG_NBR }
- { Searches faster if no index is active. }
- BEGIN
- SayGet(1,25,' Enter MSG_NBR to locate: ',NTSMsgNbr,_S,4,0);
- Picture('@!');
- Set_Repaint_Off; { leave field in reverse video on screen }
- ReadGets;
- Set_Repaint_On; { restore default setting }
- IF EditResult > 0 THEN
- BEGIN
- ClearEOL(1,25);
- Exit;
- END;
- IF NTSMsgNbr <> '' THEN
- BEGIN
- NTSRecNo := RecNo; { save current position }
- NTSm_Found := False;
- GoTop; { start at top of file (omit as desired) }
- REPEAT
- IF NTSMsgNbr = NTSHamGram._MSG_NBR THEN
- NTSm_Found := True
- ELSE Skip(1);
- AT(75,25,SInteger(RecNo,0));
- UNTIL NTSm_Found OR dEOF;
- IF Not NTSm_Found THEN
- BEGIN
- GO(NTSRecNo); { re-position file }
- ClearEOL(1,25);
- Wait(NTSMsgNbr + ' not found. Press any key...');
- END;
- END;
- ClearEOL(1,25);
- END; { NTSSrchMsgNbr }
-
-
- PROCEDURE NTSWrStatLine;
- BEGIN
- IF NTSAddMode THEN
- AT(8,2,'╣'+SInteger(RecNo+1,3)+' of '+SInteger(RecCount+1,3)+'╠══╣'+DBF+'╠══╣'+LUpdate+'╠')
- ELSE
- AT(8,2,'╣'+SInteger(RecNo,3)+' of '+SInteger(RecCount,3)+'╠══╣'+DBF+'╠══╣'+LUpdate+'╠');
- IF dBOF OR dEOF THEN RingBell;
- END; { NTSWrStatLine }
-
- PROCEDURE NTSFormat;
- begin
- At(6, 2,'╔═══════════════════════════════════════════════════════════════════╗');
- At(6, 3,'║ Nbr P Handling Inst OrigSta Place of Origin Time Mon Day ║');
- At(6, 4,'╟───────────────────────────────────────────────────────────────────╢');
- At(6, 5,'║ HX ║');
- At(6, 6,'╠═══════════════════════════════════════════════════════════════════╣');
- At(6, 7,'║ To: Phone # ( ) - ║');
- At(6, 8,'║ ║');
- At(6, 9,'║ ║');
- At(6,10,'║ ║');
- At(6,11,'╟───────────────────────────────────────────────────────────────────╢');
- At(6,12,'║ ║');
- At(6,13,'║ ║');
- At(6,14,'║ ║');
- At(6,15,'║ ║');
- At(6,16,'║ ║');
- At(6,17,'╟───────────────────────────────────────────────────────────────────╢');
- At(6,18,'║ From: Phone # ( ) - ║');
- At(6,19,'║ ║');
- At(6,20,'║ ┌────────────────────╢');
- At(6,21,'║ │Word Count : ║');
- At(6,22,'╚══════════════════════════════════════════════╧════════════════════╝');
- end;
-
- PROCEDURE NTSDoGetsWith;
- BEGIN
- ClrScr;
- NTSFormat;
- NTSWrStatLine;
- NTSCountWords;
- IF NTSEditMode OR NTSAddMode THEN ClearEOL(1,23);
- IF NTSAddMode THEN ClearRecord;
- WITH NTSHamGram DO
- BEGIN
- IF deleted THEN AT(60,2,'╣DELETED╠')
- ELSE AT(60,2,'═════════');
-
- Set_FKEY(F10, @NTSF10Help);
-
- SayGet( 8, 5,'', _MSG_NBR, _S, 4, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14, 5,'', _PRECEDENCE, _S, 1, 0);
- Picture('!');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(20, 5,'', _HANDLING, _S, 1, 0);
- Picture('!');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(23, 5,'', _HANDL_EXT, _S, 5, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(30, 5,'', _STATION, _S,10, 0);
- Picture('@!');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(42, 5,'', _ORIGIN, _S, 15, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(61, 5,'', _FILE_TIME, _S, 4, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(66, 5,'', _FILE_MONTH, _S, 3, 0);
- Picture('@!');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(70, 5,'', _FILE_DAY, _S, 2, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
-
- SayGet(14, 7,'', _ADDRESSEE, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14, 8,'', _ADDR1, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14, 9,'', _ADDR2, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14,10,'', _CITY, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(41,10,'', _STATE, _S, 2, 0);
- Picture('AA');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(45,10,'', _ZIP, _S, 5, 0);
- Picture('99999');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(53, 7,'', _PHONE, _S, 13, 0);
- Picture('(999)999-9999');
- Set_AutoHelp_To(@NTSAutoHelp);
-
- SayGet(8,12,'', _TEXT_1, _S, 65, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(8,13,'', _TEXT_2, _S, 65, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(8,14,'', _TEXT_3, _S, 65, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(8,15,'', _TEXT_4, _S, 65, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(8,16,'', _TEXT_5, _S, 65, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
-
- SayGet(14,18,'', _SIGN, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14,19,'', _SIGN_ADR1, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14,20,'', _SIGN_ADR2, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(14,21,'', _SIGN_CITY, _S, 25, 0);
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(41,21,'', _SIGN_ST, _S, 2, 0);
- Picture('AA');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(45,21,'', _SIGN_ZIP, _S, 5, 0);
- Picture('99999');
- Set_AutoHelp_To(@NTSAutoHelp);
- SayGet(53,18,'', _SIGN_PHN, _S, 13, 0);
- Picture('(999)999-9999');
- Set_AutoHelp_To(@NTSAutoHelp);
-
- IF NTSEditMode OR NTSAddMode THEN
- BEGIN
- ReadGets; { edit the fields defined with SayGet() }
- IF EditResult <= 0 THEN
- BEGIN
- IF NTSAddMode THEN
- BEGIN
- Append;
- NTSAddMode := False;
- NTSWrStatLine;
- END
- ELSE Replace;
- END
- END
- ELSE ClearGets; { just display the fields }
- END;
- NTSCountWords;
- ClearEOL(1,24);
- END; { NTSDoGetsWith }
-
-
- PROCEDURE NTSMakeFile(NewFile : String);
- VAR
- DataBase : DbfRecord;
- FieldList : FieldArray;
- BEGIN
- WriteLn('Creating '+NewFile+'...');
- FillChar(FieldList,SizeOf(FieldList), 0);
- FieldList[1].Name := 'MSG_NBR';
- FieldList[1].Typ := 'C';
- FieldList[1].Len := 4;
- FieldList[2].Name := 'PRECEDENCE';
- FieldList[2].Typ := 'C';
- FieldList[2].Len := 1;
- FieldList[3].Name := 'HANDLING';
- FieldList[3].Typ := 'C';
- FieldList[3].Len := 1;
- FieldList[4].Name := 'HANDL_EXT';
- FieldList[4].Typ := 'C';
- FieldList[4].Len := 5;
- FieldList[5].Name := 'STATION';
- FieldList[5].Typ := 'C';
- FieldList[5].Len := 10;
- FieldList[6].Name := 'ORIGIN';
- FieldList[6].Typ := 'C';
- FieldList[6].Len := 15;
- FieldList[7].Name := 'FILE_TIME';
- FieldList[7].Typ := 'C';
- FieldList[7].Len := 4;
- FieldList[8].Name := 'FILE_MONTH';
- FieldList[8].Typ := 'C';
- FieldList[8].Len := 3;
- FieldList[9].Name := 'FILE_DAY';
- FieldList[9].Typ := 'C';
- FieldList[9].Len := 2;
- FieldList[10].Name := 'ADDRESSEE';
- FieldList[10].Typ := 'C';
- FieldList[10].Len := 25;
- FieldList[11].Name := 'ADDR1';
- FieldList[11].Typ := 'C';
- FieldList[11].Len := 25;
- FieldList[12].Name := 'ADDR2';
- FieldList[12].Typ := 'C';
- FieldList[12].Len := 25;
- FieldList[13].Name := 'CITY';
- FieldList[13].Typ := 'C';
- FieldList[13].Len := 25;
- FieldList[14].Name := 'STATE';
- FieldList[14].Typ := 'C';
- FieldList[14].Len := 2;
- FieldList[15].Name := 'ZIP';
- FieldList[15].Typ := 'C';
- FieldList[15].Len := 5;
- FieldList[16].Name := 'PHONE';
- FieldList[16].Typ := 'C';
- FieldList[16].Len := 13;
- FieldList[17].Name := 'TEXT_1';
- FieldList[17].Typ := 'C';
- FieldList[17].Len := 65;
- FieldList[18].Name := 'TEXT_2';
- FieldList[18].Typ := 'C';
- FieldList[18].Len := 65;
- FieldList[19].Name := 'TEXT_3';
- FieldList[19].Typ := 'C';
- FieldList[19].Len := 65;
- FieldList[20].Name := 'TEXT_4';
- FieldList[20].Typ := 'C';
- FieldList[20].Len := 65;
- FieldList[21].Name := 'TEXT_5';
- FieldList[21].Typ := 'C';
- FieldList[21].Len := 65;
- FieldList[22].Name := 'SIGN';
- FieldList[22].Typ := 'C';
- FieldList[22].Len := 25;
- FieldList[23].Name := 'SIGN_ADR1';
- FieldList[23].Typ := 'C';
- FieldList[23].Len := 25;
- FieldList[24].Name := 'SIGN_ADR2';
- FieldList[24].Typ := 'C';
- FieldList[24].Len := 25;
- FieldList[25].Name := 'SIGN_CITY';
- FieldList[25].Typ := 'C';
- FieldList[25].Len := 25;
- FieldList[26].Name := 'SIGN_ST';
- FieldList[26].Typ := 'C';
- FieldList[26].Len := 2;
- FieldList[27].Name := 'SIGN_ZIP';
- FieldList[27].Typ := 'C';
- FieldList[27].Len := 5;
- FieldList[28].Name := 'SIGN_PHN';
- FieldList[28].Typ := 'C';
- FieldList[28].Len := 13;
- CreateDBF(DataBase, NewFile, 28, @FieldList);
- END;
-
- PROCEDURE NTSWriteHamGram;
- var txt : text;
- begin
- Assign(txt,'MSG'+TRIM(NTSHamGram._MSG_NBR));
- ReWrite(txt);
- with NTSHamGram do
- begin
- write(txt,_MSG_NBR:4,
- _PRECEDENCE:2,' ');
- if TRIM(_HANDL_EXT) <> '' then
- write(txt,'HX', _HANDLING:1);
- if TRIM(_HANDL_EXT) <> '' then
- write(txt,_HANDL_EXT:6);
- writeln(txt,_STATION:11,
- NTSWordCount:4,
- _ORIGIN:16,
- _FILE_TIME:5,
- _FILE_MONTH:4,
- _FILE_DAY:3);
- writeln(txt);
- writeln(txt,_ADDRESSEE);
- if TRIM(_ADDR1) <> '' then
- writeln(txt,TRIM(_ADDR1));
- if TRIM(_ADDR2) <> '' then
- writeln(txt,TRIM(_ADDR2));
- if TRIM(_CITY) <> '' then
- write(txt,TRIM(_CITY));
- if TRIM(_STATE) <> '' then
- write(txt,' ',_STATE);
- if TRIM(_ZIP) <> '' then
- write(txt,' ',_ZIP);
- writeln(txt);
- if _PHONE[6] <> ' ' then
- writeln(txt,_PHONE);
- writeln(txt);
- if TRIM(_TEXT_1) <> '' then
- writeln(txt,TRIM(_TEXT_1));
- if TRIM(_TEXT_2) <> '' then
- writeln(txt,TRIM(_TEXT_2));
- if TRIM(_TEXT_3) <> '' then
- writeln(txt,TRIM(_TEXT_3));
- if TRIM(_TEXT_4) <> '' then
- writeln(txt,TRIM(_TEXT_4));
- if TRIM(_TEXT_5) <> '' then
- writeln(txt,TRIM(_TEXT_5));
- writeln(txt);
- writeln(txt,TRIM(_SIGN));
- if TRIM(_SIGN_ADR1) <> '' then
- writeln(txt,TRIM(_SIGN_ADR1));
- if TRIM(_SIGN_ADR2) <> '' then
- writeln(txt,TRIM(_SIGN_ADR2));
- if TRIM(_SIGN_CITY) <> '' then
- write(txt,TRIM(_SIGN_CITY));
- if TRIM(_SIGN_ST) <> '' then
- write(txt,' ',_SIGN_ST);
- if TRIM(_SIGN_ZIP) <> '' then
- write(txt,' ',_SIGN_ZIP);
- writeln(txt);
- if _SIGN_PHN[6] <> ' ' then
- writeln(txt,_SIGN_PHN);
- close(txt);
- end;
- end;
-
- PROCEDURE NTSInitialize;
- BEGIN
- Set_Escape_On; { affects SayGet commands }
- Set_Safety_Off; { affects Pack command }
- Set_BrowseWindow_TO(15,5,75,19,2,'');
- if (NTSdBaseFile = '') then
- NTSdBaseFile := 'HAMGRAM.DBF';
- Select(3);
- NTSOurWorkArea := CurrentArea;
- IF NOT FileExists(NTSdBaseFile)
- THEN NTSMakeFile(NTSdBaseFile);
- USE(NTSdBaseFile, @NTSHamGram, SizeOf(NTSHamGram)); { open the file }
- IF RecCount = 0 THEN Append; { don't allow an empty database }
- NTSEditMode := False;
- NTSAddMode := False;
- NTSMsgNbr := '';
- END; { Initialize }
-
- PROCEDURE KamGram;
- var VidBuffer : array[1..4000] of byte;
- VidX, VidY : byte;
- begin
- FillPage(@VidBuffer);
- VidX := WhereX;
- VidY := WhereY;
- NTSOldColors := TextAttr;
- SayGetColors;
- ClrScr;
- Select(NTSOurWorkArea);
- Set_FKey(F1,@EditHelp);
- Set_Cursor_Off;
- REPEAT
- NTSDoGetsWith; { display (or edit) the current record }
- AT(3,23,'N)ext P)rev T)op B(O)t G)o S)rch E)dit A)dd D)el B)row Pa(C)k W)rite Q)uit');
- AT(34,24,'<F1> for HELP');
- REPEAT
- NTSChoice := UpCase(ReadKey); { get user request }
- IF NTSChoice = CHR(0) THEN { user pressed a special key }
- BEGIN
- NTSChoice := ReadKey;
- Case NTSChoice Of
- 'P' : NTSChoice := 'N'; { map down-arrow to "Next" }
- 'H' : NTSChoice := 'P'; { map up-arrow to "Previous" }
- ';' : NTSChoice := 'H'; { map F1 to "Help" }
- ELSE NTSChoice := ' '; { ignore other special keys }
- END;
- END;
- UNTIL POS(NTSChoice,'ABCDEGHNOPQSTW') > 0;
- NTSEditMode := False;
- NTSAddMode := False;
- CASE NTSChoice OF
- 'N' : BEGIN
- Skip(1);
- IF dEOF THEN GoBottom;
- END;
- 'P' : Skip(-1);
- 'E' : NTSEditMode := True;
- 'A' : NTSAddMode := True;
- 'H' : NTSHelpScreen;
- 'D' : { toggle the "Deleted" flag }
- IF NTSHamGram.Deleted THEN RecallRec ELSE DeleteRec;
- 'T' : GoTop; { position database at first record }
- 'O' : GoBottom; { position database at last record }
- 'B' : BEGIN
- Browse(
- 'FIELDS [MSG_NBR "Nbr", ADDRESSEE "To", SIGN "From"] NOMODIFY');
- ClrScr;
- END;
- 'S' : NTSSrchMsgNbr;
- 'G' : BEGIN { GO }
- MRecNO := 1;
- SayGet(1,25,' Enter record number: ',NTSRecNo,_LI,6,0);
- Range('1',SInteger(RecCount,0));
- Set_Repaint_Off;
- ReadGets;
- Set_Repaint_On;
- IF EditResult <= 0 THEN GO(NTSRecNo);
- AT(1,25,Space(78));
- END;
- 'C' : BEGIN { Pack }
- ClrScr;
- WriteLn('Removing deleted records...');
- Set_Talk_On;
- Pack;
- GoTop;
- ClrScr;
- END;
- 'W' : NTSWriteHamGram;
- END; { Case }
- UNTIL NTSChoice = 'Q';
- Set_Cursor_On;
- DisplayPage(@VidBuffer);
- GotoXY(VidX,VidY);
- TextAttr := NTSOldColors;
- END;